/*
    author:hjw
    Date:2020-06-19
    content:user operator
*/
const userDao = require('../dao/userDao');
const md5 = require('../utils/md5/md5');

//  1. 注册：先查找用户的存在性，否则增加
async function addUser(user) {
    var result = await userDao.findByName(user.name);
    if (result.success){
        return {success:false,msg:"用户名已存在！"};
    }else {
        var data = await userDao.addUser(user);
        //  在dao已做数据处理，直接记录
        return data;
    }
}
//  2. 登录：查出用户，然后进行密码比对
//  对数据库里的密码进行md5验证，所得数据一般要进行密码验证
async function login(user) {
    var result = await userDao.findByName(user.name);
    //  找到用户
    if (result.success){
        var password = md5.toMd5(user.password);
        if (password == result.user.password){
            return {success:true,user:result.user};
        }else {
            return {success:false,msg:"用户密码不正确！"};
        }
    }else {
        return {success:false,msg:"用户名不存在！"};
    }

}
async function loginCookie(user) {
    var result = await userDao.findByName(user.name);
    //  找到用户
    if (result.success){
        if (user.password == result.user.password){
            return {success:true,user:result.user};
        }else {
            return {success:false,msg:"用户密码不正确！"};
        }
    }else {
        return {success:false,msg:"用户名不存在！"};
    }

}
//  共享
exports.addUser = addUser;
exports.login = login;
exports.loginCookie = loginCookie;